package com.enjoyor.soa.traffic.api.service.dubbo.psms;

import java.util.Date;
import java.util.List;

import com.enjoyor.soa.traffic.api.dto.psms.ModelConfigDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 
 * @ClassName: DubboModelConfigService
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author yrch 961774545@qq.com
 * @date 2017年10月17日 下午6:04:52
 *
 */

public interface DubboModelConfigService {

	/**
	 * 
	 * @param token
	 * @param systemKey
	 * @param configId
	 * @param user
	 * @param ip
	 * @param sysName
	 * @return
	 */
	public ResultPojo removeModelConfig(String token, String systemKey, String configId, String user, String ip,
			String sysName);

	/**
	 * 
	 * @param token
	 * @param systemKey
	 * @param modelConfigDto
	 * @param user
	 * @param ip
	 * @param sysName
	 * @return
	 */
	public ResultPojo saveModelConfig(String token, String systemKey, ModelConfigDto modelConfigDto, String user,
			String ip, String sysName);

	/**
	 * 
	 * @param token
	 * @param systemKey
	 * @param configId
	 * @param deptId
	 * @param modelCode
	 * @return
	 */
	public ResultPojo listModelConfig(String token, String systemKey, String configId, String deptId, String modelCode);

	/**
	 * 
	 * @param token
	 * @param systemKey
	 * @param configId
	 * @param deptId
	 * @param modelCode
	 * @param page
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo pageModelConfig(String token, String systemKey, String configId, String deptId, String modelCode,
			Page page);

	/**
	 * 
	 * @param token
	 * @param systemKey
	 * @param modelConfigDto
	 * @param user
	 * @param ip
	 * @param sysName
	 * @return
	 */
	public ResultPojo modifyModelConfig(String token, String systemKey, ModelConfigDto modelConfigDto, String user,
			String ip, String sysName);

	/**
	 * 总队勤务配置校验信息~
	 * 
	 * @param token
	 * @param systemKey
	 * @param deptId
	 *            部门编号
	 * @param deptIds
	 *            部门及其子部门id集合
	 * @param beginTime
	 *            开始时间
	 * @param endTime
	 *            结束时间
	 * @param user
	 * @param ip
	 * @param sysName
	 * @return
	 */
	public ResultPojo listModelCheckMsg(String token, String systemKey, String deptId, List<String> deptIds,
			Date beginTime, Date endTime, String user, String ip, String sysName);

}
